package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;

import java.util.List;

public interface WmNewsService extends IService<WmNews> {

    /**
     * 查询所有文章方法
     * @param dto
     * @return
     */
    public ResponseResult findAll(WmNewsPageReqDto dto);

    /**
     * 上传文章
     * @param dto
     * @return
     */
    public ResponseResult submitNews(WmNewsDto dto);

    /**
     * 根据id查找文章
     * @param id
     * @return
     */
    public ResponseResult findWmNewsById(Integer id);

    /**
     * 文章删除
     * @param id
     * @return
     */
    public ResponseResult delNews(Integer id);

    /**
     * 文章上下架
     * @param dto
     * @return
     */
    public ResponseResult downOrUp(WmNewsDto dto);

    /**
     * 查询待发布的文章方法
     * @param
     * @return
     */
    public List<Integer> findRelease();

    /**
     * 查询文章列表含作者
     * @param dto
     * @return
     */
    ResponseResult findList(NewsAuthDto dto);

    /**
     * 查询文章详情
     * @param id
     * @return
     */
    ResponseResult findWmNewsVo(Integer id);

    /**
     * 修改文章状态为通过或驳回
     * @param status
     * @param dto
     * @return
     */
    ResponseResult updateStatus(Short status, NewsAuthDto dto);

}
